YES 5.8180000000000005 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/List.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ LR

mainModule List
  ((intersect :: [Ratio Int ->  [Ratio Int ->  [Ratio Int]) :: [Ratio Int ->  [Ratio Int ->  [Ratio Int])

module List where
  import qualified Maybe
import qualified Prelude

  intersect :: Eq a => [a ->  [a ->  [a]
intersect intersectBy (==)

  intersectBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
intersectBy eq xs ys concatMap (\vv2 ->
case vv2 of
  x->  if any (eq x) ys then x : [] else []
  _-> []
) xs


module Maybe where
  import qualified List
import qualified Prelude



Lambda Reductions:
The following Lambda expression
\vv2
case vv2 of
 x → if any (eq xys then x : [] else []
 _ → []

is transformed to
intersectBy0 eq ys vv2 = 
case vv2 of
 x → if any (eq xys then x : [] else []
 _ → []



↳ HASKELL
  ↳ LR
HASKELL
      ↳ CR

mainModule List
  ((intersect :: [Ratio Int ->  [Ratio Int ->  [Ratio Int]) :: [Ratio Int ->  [Ratio Int ->  [Ratio Int])

module List where
  import qualified Maybe
import qualified Prelude

  intersect :: Eq a => [a ->  [a ->  [a]
intersect intersectBy (==)

  intersectBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
intersectBy eq xs ys concatMap (intersectBy0 eq ys) xs

  
intersectBy0 eq ys vv2 
case vv2 of
  x->  if any (eq x) ys then x : [] else []
  _-> []


module Maybe where
  import qualified List
import qualified Prelude



Case Reductions:
The following Case expression
case vv2 of
 x → if any (eq xys then x : [] else []
 _ → []

is transformed to
intersectBy00 eq ys x = if any (eq xys then x : [] else []
intersectBy00 eq ys _ = []



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
HASKELL
          ↳ IFR

mainModule List
  ((intersect :: [Ratio Int ->  [Ratio Int ->  [Ratio Int]) :: [Ratio Int ->  [Ratio Int ->  [Ratio Int])

module List where
  import qualified Maybe
import qualified Prelude

  intersect :: Eq a => [a ->  [a ->  [a]
intersect intersectBy (==)

  intersectBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
intersectBy eq xs ys concatMap (intersectBy0 eq ys) xs

  
intersectBy0 eq ys vv2 intersectBy00 eq ys vv2

  
intersectBy00 eq ys x  if any (eq x) ys then x : [] else []
intersectBy00 eq ys _ []


module Maybe where
  import qualified List
import qualified Prelude



If Reductions:
The following If expression
if any (eq xys then x : [] else []

is transformed to
intersectBy000 x True = x : []
intersectBy000 x False = []



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
HASKELL
              ↳ BR

mainModule List
  ((intersect :: [Ratio Int ->  [Ratio Int ->  [Ratio Int]) :: [Ratio Int ->  [Ratio Int ->  [Ratio Int])

module List where
  import qualified Maybe
import qualified Prelude

  intersect :: Eq a => [a ->  [a ->  [a]
intersect intersectBy (==)

  intersectBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
intersectBy eq xs ys concatMap (intersectBy0 eq ys) xs

  
intersectBy0 eq ys vv2 intersectBy00 eq ys vv2

  
intersectBy00 eq ys x intersectBy000 x (any (eq x) ys)
intersectBy00 eq ys _ []

  
intersectBy000 x True x : []
intersectBy000 x False []


module Maybe where
  import qualified List
import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
HASKELL
                  ↳ COR

mainModule List
  ((intersect :: [Ratio Int ->  [Ratio Int ->  [Ratio Int]) :: [Ratio Int ->  [Ratio Int ->  [Ratio Int])

module List where
  import qualified Maybe
import qualified Prelude

  intersect :: Eq a => [a ->  [a ->  [a]
intersect intersectBy (==)

  intersectBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
intersectBy eq xs ys concatMap (intersectBy0 eq ys) xs

  
intersectBy0 eq ys vv2 intersectBy00 eq ys vv2

  
intersectBy00 eq ys x intersectBy000 x (any (eq x) ys)
intersectBy00 eq ys vw []

  
intersectBy000 x True x : []
intersectBy000 x False []


module Maybe where
  import qualified List
import qualified Prelude



Cond Reductions:
The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
HASKELL
                      ↳ Narrow

mainModule List
  (intersect :: [Ratio Int ->  [Ratio Int ->  [Ratio Int])

module List where
  import qualified Maybe
import qualified Prelude

  intersect :: Eq a => [a ->  [a ->  [a]
intersect intersectBy (==)

  intersectBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
intersectBy eq xs ys concatMap (intersectBy0 eq ys) xs

  
intersectBy0 eq ys vv2 intersectBy00 eq ys vv2

  
intersectBy00 eq ys x intersectBy000 x (any (eq x) ys)
intersectBy00 eq ys vw []

  
intersectBy000 x True x : []
intersectBy000 x False []


module Maybe where
  import qualified List
import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ Narrow
                        ↳ AND
QDP
                            ↳ DependencyGraphProof
                          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_psPs16(Neg(Succ(wv30100)), Neg(Succ(wv40100)), wv41, wv5) → new_psPs14(wv30100, wv30100, wv40100, wv41, wv5)
new_psPs16(Neg(Succ(wv30100)), Pos(wv4010), wv41, wv5) → new_psPs13(Neg(Succ(wv30100)), wv41, wv5)
new_psPs4(:%(Neg(Zero), Neg(Succ(wv30100))), :(:%(Pos(Zero), Pos(wv4010)), wv41), wv5) → new_psPs13(Neg(Succ(wv30100)), wv41, wv5)
new_psPs(wv16, Pos(Succ(wv1700)), Zero, Zero, Neg(wv200), wv21, wv22) → new_psPs2(wv16, Pos(Succ(wv1700)), wv21, wv22)
new_psPs4(:%(Pos(Succ(wv30000)), wv301), :(:%(Pos(Succ(wv40000)), wv401), wv41), wv5) → new_psPs(wv30000, wv301, wv30000, wv40000, wv401, wv41, wv5)
new_psPs4(:%(Neg(Zero), Pos(Succ(wv30100))), :(:%(Pos(Zero), Neg(wv4010)), wv41), wv5) → new_psPs13(Pos(Succ(wv30100)), wv41, wv5)
new_psPs16(Neg(Succ(wv30100)), Neg(Zero), wv41, wv5) → new_psPs13(Neg(Succ(wv30100)), wv41, wv5)
new_psPs4(:%(Pos(Zero), Pos(Succ(wv30100))), :(:%(Pos(Zero), Pos(Succ(wv40100))), wv41), wv5) → new_psPs5(wv30100, wv30100, wv40100, wv41, wv5)
new_psPs4(:%(Pos(Zero), Neg(Succ(wv30100))), :(:%(Pos(Zero), Neg(Succ(wv40100))), wv41), wv5) → new_psPs7(wv30100, wv30100, wv40100, wv41, wv5)
new_psPs10(wv24, Neg(Zero), Zero, Zero, Neg(Succ(wv2800)), wv29, wv30) → new_psPs17(wv24, Neg(Zero), wv29, wv30)
new_psPs10(wv24, Pos(Succ(wv2500)), Zero, Zero, Pos(Zero), wv29, wv30) → new_psPs17(wv24, Pos(Succ(wv2500)), wv29, wv30)
new_psPs9(Neg(Zero), Neg(Succ(wv40100)), wv41, wv5) → new_psPs6(Neg(Zero), wv41, wv5)
new_psPs17(wv30000, wv301, wv41, wv5) → new_psPs4(:%(Neg(Succ(wv30000)), wv301), wv41, wv5)
new_psPs4(:%(Neg(Zero), Pos(Succ(wv30100))), :(:%(Pos(Zero), Pos(Succ(wv40100))), wv41), wv5) → new_psPs12(wv30100, wv30100, wv40100, wv41, wv5)
new_psPs4(:%(Pos(Zero), wv301), :(:%(Neg(Succ(wv40000)), wv401), wv41), wv5) → new_psPs8(wv301, wv401, wv41, wv5)
new_psPs4(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Succ(wv40100))), wv41), wv5) → new_psPs13(Pos(Zero), wv41, wv5)
new_psPs8(wv301, wv401, wv41, wv5) → new_psPs4(:%(Pos(Zero), wv301), wv41, wv5)
new_psPs(wv16, Pos(Zero), Zero, Zero, Pos(Succ(wv2000)), wv21, wv22) → new_psPs2(wv16, Pos(Zero), wv21, wv22)
new_psPs4(:%(Neg(Zero), wv301), :(:%(Neg(Zero), wv401), wv41), wv5) → new_psPs16(wv301, wv401, wv41, wv5)
new_psPs10(wv24, Pos(Succ(wv2500)), Zero, Zero, Neg(wv280), wv29, wv30) → new_psPs17(wv24, Pos(Succ(wv2500)), wv29, wv30)
new_psPs9(Neg(Succ(wv30100)), Neg(Zero), wv41, wv5) → new_psPs6(Neg(Succ(wv30100)), wv41, wv5)
new_psPs7(wv44, Succ(wv450), Succ(wv460), wv47, wv48) → new_psPs7(wv44, wv450, wv460, wv47, wv48)
new_psPs10(wv24, Pos(Zero), Zero, Zero, Pos(Succ(wv2800)), wv29, wv30) → new_psPs17(wv24, Pos(Zero), wv29, wv30)
new_psPs9(Pos(Succ(wv30100)), Pos(Succ(wv40100)), wv41, wv5) → new_psPs5(wv30100, wv30100, wv40100, wv41, wv5)
new_psPs11(wv30000, wv301, wv401, wv41, wv5) → new_psPs4(:%(Neg(Succ(wv30000)), wv301), wv41, wv5)
new_psPs16(Neg(Zero), Pos(Succ(wv40100)), wv41, wv5) → new_psPs13(Neg(Zero), wv41, wv5)
new_psPs10(wv24, Pos(Zero), Zero, Zero, Neg(Succ(wv2800)), wv29, wv30) → new_psPs17(wv24, Pos(Zero), wv29, wv30)
new_psPs18(wv88, wv89, Zero, Succ(wv910), wv92, wv93) → new_psPs17(wv88, Pos(Succ(wv89)), wv92, wv93)
new_psPs18(wv88, wv89, Succ(wv900), Zero, wv92, wv93) → new_psPs17(wv88, Pos(Succ(wv89)), wv92, wv93)
new_psPs4(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Succ(wv40100))), wv41), wv5) → new_psPs6(Pos(Zero), wv41, wv5)
new_psPs6(wv301, wv41, wv5) → new_psPs4(:%(Pos(Zero), wv301), wv41, wv5)
new_psPs9(Pos(Succ(wv30100)), Neg(wv4010), wv41, wv5) → new_psPs6(Pos(Succ(wv30100)), wv41, wv5)
new_psPs12(wv50, Succ(wv510), Succ(wv520), wv53, wv54) → new_psPs12(wv50, wv510, wv520, wv53, wv54)
new_psPs10(wv24, Neg(Zero), Zero, Zero, Pos(Succ(wv2800)), wv29, wv30) → new_psPs17(wv24, Neg(Zero), wv29, wv30)
new_psPs10(wv24, wv25, Zero, Succ(wv270), wv28, wv29, wv30) → new_psPs11(wv24, wv25, wv28, wv29, wv30)
new_psPs10(wv24, wv25, Succ(wv260), Zero, wv28, wv29, wv30) → new_psPs11(wv24, wv25, wv28, wv29, wv30)
new_psPs10(wv24, Pos(Succ(wv2500)), Zero, Zero, Pos(Succ(wv2800)), wv29, wv30) → new_psPs18(wv24, wv2500, wv2500, wv2800, wv29, wv30)
new_psPs1(wv74, wv75, Succ(wv760), Succ(wv770), wv78, wv79) → new_psPs1(wv74, wv75, wv760, wv770, wv78, wv79)
new_psPs4(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Succ(wv40100))), wv41), wv5) → new_psPs13(Neg(Zero), wv41, wv5)
new_psPs5(wv38, Zero, Succ(wv400), wv41, wv42) → new_psPs6(Pos(Succ(wv38)), wv41, wv42)
new_psPs5(wv38, Succ(wv390), Zero, wv41, wv42) → new_psPs6(Pos(Succ(wv38)), wv41, wv42)
new_psPs4(:%(Pos(Succ(wv30000)), wv301), :(:%(Neg(wv4000), wv401), wv41), wv5) → new_psPs4(:%(Pos(Succ(wv30000)), wv301), wv41, wv5)
new_psPs4(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Succ(wv40100))), wv41), wv5) → new_psPs13(Neg(Zero), wv41, wv5)
new_psPs4(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Succ(wv40100))), wv41), wv5) → new_psPs13(Pos(Zero), wv41, wv5)
new_psPs18(wv88, wv89, Succ(wv900), Succ(wv910), wv92, wv93) → new_psPs18(wv88, wv89, wv900, wv910, wv92, wv93)
new_psPs(wv16, Pos(Zero), Zero, Zero, Neg(Succ(wv2000)), wv21, wv22) → new_psPs2(wv16, Pos(Zero), wv21, wv22)
new_psPs4(:%(Neg(Zero), wv301), :(:%(Pos(Succ(wv40000)), wv401), wv41), wv5) → new_psPs4(:%(Neg(Zero), wv301), wv41, wv5)
new_psPs4(:%(Pos(Zero), Pos(Succ(wv30100))), :(:%(Pos(Zero), Pos(Zero)), wv41), wv5) → new_psPs6(Pos(Succ(wv30100)), wv41, wv5)
new_psPs4(:%(Neg(Succ(wv30000)), wv301), :(:%(Neg(Succ(wv40000)), wv401), wv41), wv5) → new_psPs10(wv30000, wv301, wv30000, wv40000, wv401, wv41, wv5)
new_psPs4(:%(Pos(Zero), wv301), :(:%(Neg(Zero), wv401), wv41), wv5) → new_psPs9(wv301, wv401, wv41, wv5)
new_psPs9(Pos(Succ(wv30100)), Pos(Zero), wv41, wv5) → new_psPs6(Pos(Succ(wv30100)), wv41, wv5)
new_psPs2(wv30000, wv301, wv41, wv5) → new_psPs4(:%(Pos(Succ(wv30000)), wv301), wv41, wv5)
new_psPs(wv16, Neg(Succ(wv1700)), Zero, Zero, Neg(Zero), wv21, wv22) → new_psPs2(wv16, Neg(Succ(wv1700)), wv21, wv22)
new_psPs4(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Succ(wv40100))), wv41), wv5) → new_psPs6(Neg(Zero), wv41, wv5)
new_psPs(wv16, Neg(Succ(wv1700)), Zero, Zero, Pos(wv200), wv21, wv22) → new_psPs2(wv16, Neg(Succ(wv1700)), wv21, wv22)
new_psPs5(wv38, Succ(wv390), Succ(wv400), wv41, wv42) → new_psPs5(wv38, wv390, wv400, wv41, wv42)
new_psPs4(:%(Pos(Zero), wv301), :(:%(Pos(Succ(wv40000)), wv401), wv41), wv5) → new_psPs4(:%(Pos(Zero), wv301), wv41, wv5)
new_psPs(wv16, Neg(Succ(wv1700)), Zero, Zero, Neg(Succ(wv2000)), wv21, wv22) → new_psPs3(wv16, wv1700, wv1700, wv2000, wv21, wv22)
new_psPs15(wv301, wv401, wv41, wv5) → new_psPs4(:%(Neg(Zero), wv301), wv41, wv5)
new_psPs16(Neg(Zero), Neg(Succ(wv40100)), wv41, wv5) → new_psPs13(Neg(Zero), wv41, wv5)
new_psPs9(Neg(Succ(wv30100)), Neg(Succ(wv40100)), wv41, wv5) → new_psPs7(wv30100, wv30100, wv40100, wv41, wv5)
new_psPs0(wv30000, wv301, wv401, wv41, wv5) → new_psPs4(:%(Pos(Succ(wv30000)), wv301), wv41, wv5)
new_psPs16(Pos(Zero), Neg(Succ(wv40100)), wv41, wv5) → new_psPs13(Pos(Zero), wv41, wv5)
new_psPs9(Neg(Zero), Pos(Succ(wv40100)), wv41, wv5) → new_psPs6(Neg(Zero), wv41, wv5)
new_psPs4(:%(Pos(Zero), Neg(Succ(wv30100))), :(:%(Pos(Zero), Neg(Zero)), wv41), wv5) → new_psPs6(Neg(Succ(wv30100)), wv41, wv5)
new_psPs(wv16, Pos(Succ(wv1700)), Zero, Zero, Pos(Succ(wv2000)), wv21, wv22) → new_psPs1(wv16, wv1700, wv1700, wv2000, wv21, wv22)
new_psPs16(Pos(Succ(wv30100)), Neg(wv4010), wv41, wv5) → new_psPs13(Pos(Succ(wv30100)), wv41, wv5)
new_psPs1(wv74, wv75, Zero, Succ(wv770), wv78, wv79) → new_psPs2(wv74, Pos(Succ(wv75)), wv78, wv79)
new_psPs1(wv74, wv75, Succ(wv760), Zero, wv78, wv79) → new_psPs2(wv74, Pos(Succ(wv75)), wv78, wv79)
new_psPs4(:%(Pos(Succ(wv30000)), wv301), :(:%(Pos(Zero), wv401), wv41), wv5) → new_psPs0(wv30000, wv301, wv401, wv41, wv5)
new_psPs9(Pos(Zero), Neg(Succ(wv40100)), wv41, wv5) → new_psPs6(Pos(Zero), wv41, wv5)
new_psPs9(Neg(Succ(wv30100)), Pos(wv4010), wv41, wv5) → new_psPs6(Neg(Succ(wv30100)), wv41, wv5)
new_psPs14(wv56, Succ(wv570), Succ(wv580), wv59, wv60) → new_psPs14(wv56, wv570, wv580, wv59, wv60)
new_psPs4(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Succ(wv40100))), wv41), wv5) → new_psPs6(Pos(Zero), wv41, wv5)
new_psPs(wv16, wv17, Succ(wv180), Succ(wv190), wv20, wv21, wv22) → new_psPs(wv16, wv17, wv180, wv190, wv20, wv21, wv22)
new_psPs4(:%(Neg(Succ(wv30000)), wv301), :(:%(Pos(wv4000), wv401), wv41), wv5) → new_psPs4(:%(Neg(Succ(wv30000)), wv301), wv41, wv5)
new_psPs10(wv24, wv25, Succ(wv260), Succ(wv270), wv28, wv29, wv30) → new_psPs10(wv24, wv25, wv260, wv270, wv28, wv29, wv30)
new_psPs16(Pos(Succ(wv30100)), Pos(Succ(wv40100)), wv41, wv5) → new_psPs12(wv30100, wv30100, wv40100, wv41, wv5)
new_psPs3(wv81, wv82, Succ(wv830), Succ(wv840), wv85, wv86) → new_psPs3(wv81, wv82, wv830, wv840, wv85, wv86)
new_psPs16(Pos(Zero), Pos(Succ(wv40100)), wv41, wv5) → new_psPs13(Pos(Zero), wv41, wv5)
new_psPs10(wv24, Neg(Succ(wv2500)), Zero, Zero, Pos(wv280), wv29, wv30) → new_psPs17(wv24, Neg(Succ(wv2500)), wv29, wv30)
new_psPs4(:%(Neg(Zero), wv301), :(:%(Neg(Succ(wv40000)), wv401), wv41), wv5) → new_psPs15(wv301, wv401, wv41, wv5)
new_psPs4(:%(Neg(Succ(wv30000)), wv301), :(:%(Neg(Zero), wv401), wv41), wv5) → new_psPs11(wv30000, wv301, wv401, wv41, wv5)
new_psPs4(:%(Neg(Zero), Pos(Succ(wv30100))), :(:%(Pos(Zero), Pos(Zero)), wv41), wv5) → new_psPs13(Pos(Succ(wv30100)), wv41, wv5)
new_psPs10(wv24, Neg(Succ(wv2500)), Zero, Zero, Neg(Zero), wv29, wv30) → new_psPs17(wv24, Neg(Succ(wv2500)), wv29, wv30)
new_psPs(wv16, wv17, Zero, Succ(wv190), wv20, wv21, wv22) → new_psPs0(wv16, wv17, wv20, wv21, wv22)
new_psPs(wv16, wv17, Succ(wv180), Zero, wv20, wv21, wv22) → new_psPs0(wv16, wv17, wv20, wv21, wv22)
new_psPs14(wv56, Zero, Succ(wv580), wv59, wv60) → new_psPs13(Neg(Succ(wv56)), wv59, wv60)
new_psPs14(wv56, Succ(wv570), Zero, wv59, wv60) → new_psPs13(Neg(Succ(wv56)), wv59, wv60)
new_psPs(wv16, Neg(Zero), Zero, Zero, Neg(Succ(wv2000)), wv21, wv22) → new_psPs2(wv16, Neg(Zero), wv21, wv22)
new_psPs4(:%(Pos(Zero), Pos(Succ(wv30100))), :(:%(Pos(Zero), Neg(wv4010)), wv41), wv5) → new_psPs6(Pos(Succ(wv30100)), wv41, wv5)
new_psPs4(:%(Neg(Zero), Neg(Succ(wv30100))), :(:%(Pos(Zero), Neg(Succ(wv40100))), wv41), wv5) → new_psPs14(wv30100, wv30100, wv40100, wv41, wv5)
new_psPs(wv16, Pos(Succ(wv1700)), Zero, Zero, Pos(Zero), wv21, wv22) → new_psPs2(wv16, Pos(Succ(wv1700)), wv21, wv22)
new_psPs19(wv95, wv96, Succ(wv970), Zero, wv99, wv100) → new_psPs17(wv95, Neg(Succ(wv96)), wv99, wv100)
new_psPs19(wv95, wv96, Zero, Succ(wv980), wv99, wv100) → new_psPs17(wv95, Neg(Succ(wv96)), wv99, wv100)
new_psPs4(:%(Pos(Zero), Neg(Succ(wv30100))), :(:%(Pos(Zero), Pos(wv4010)), wv41), wv5) → new_psPs6(Neg(Succ(wv30100)), wv41, wv5)
new_psPs19(wv95, wv96, Succ(wv970), Succ(wv980), wv99, wv100) → new_psPs19(wv95, wv96, wv970, wv980, wv99, wv100)
new_psPs9(Pos(Zero), Pos(Succ(wv40100)), wv41, wv5) → new_psPs6(Pos(Zero), wv41, wv5)
new_psPs4(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Succ(wv40100))), wv41), wv5) → new_psPs6(Neg(Zero), wv41, wv5)
new_psPs12(wv50, Succ(wv510), Zero, wv53, wv54) → new_psPs13(Pos(Succ(wv50)), wv53, wv54)
new_psPs12(wv50, Zero, Succ(wv520), wv53, wv54) → new_psPs13(Pos(Succ(wv50)), wv53, wv54)
new_psPs13(wv301, wv41, wv5) → new_psPs4(:%(Neg(Zero), wv301), wv41, wv5)
new_psPs7(wv44, Zero, Succ(wv460), wv47, wv48) → new_psPs6(Neg(Succ(wv44)), wv47, wv48)
new_psPs7(wv44, Succ(wv450), Zero, wv47, wv48) → new_psPs6(Neg(Succ(wv44)), wv47, wv48)
new_psPs10(wv24, Neg(Succ(wv2500)), Zero, Zero, Neg(Succ(wv2800)), wv29, wv30) → new_psPs19(wv24, wv2500, wv2500, wv2800, wv29, wv30)
new_psPs(wv16, Neg(Zero), Zero, Zero, Pos(Succ(wv2000)), wv21, wv22) → new_psPs2(wv16, Neg(Zero), wv21, wv22)
new_psPs4(:%(Neg(Zero), Neg(Succ(wv30100))), :(:%(Pos(Zero), Neg(Zero)), wv41), wv5) → new_psPs13(Neg(Succ(wv30100)), wv41, wv5)
new_psPs16(Pos(Succ(wv30100)), Pos(Zero), wv41, wv5) → new_psPs13(Pos(Succ(wv30100)), wv41, wv5)
new_psPs3(wv81, wv82, Succ(wv830), Zero, wv85, wv86) → new_psPs2(wv81, Neg(Succ(wv82)), wv85, wv86)
new_psPs3(wv81, wv82, Zero, Succ(wv840), wv85, wv86) → new_psPs2(wv81, Neg(Succ(wv82)), wv85, wv86)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 4 SCCs.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ Narrow
                        ↳ AND
                          ↳ QDP
                            ↳ DependencyGraphProof
                              ↳ AND
QDP
                                  ↳ QDPSizeChangeProof
                                ↳ QDP
                                ↳ QDP
                                ↳ QDP
                          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_psPs10(wv24, Neg(Succ(wv2500)), Zero, Zero, Pos(wv280), wv29, wv30) → new_psPs17(wv24, Neg(Succ(wv2500)), wv29, wv30)
new_psPs10(wv24, Pos(Succ(wv2500)), Zero, Zero, Neg(wv280), wv29, wv30) → new_psPs17(wv24, Pos(Succ(wv2500)), wv29, wv30)
new_psPs10(wv24, Pos(Zero), Zero, Zero, Neg(Succ(wv2800)), wv29, wv30) → new_psPs17(wv24, Pos(Zero), wv29, wv30)
new_psPs19(wv95, wv96, Zero, Succ(wv980), wv99, wv100) → new_psPs17(wv95, Neg(Succ(wv96)), wv99, wv100)
new_psPs19(wv95, wv96, Succ(wv970), Zero, wv99, wv100) → new_psPs17(wv95, Neg(Succ(wv96)), wv99, wv100)
new_psPs18(wv88, wv89, Zero, Succ(wv910), wv92, wv93) → new_psPs17(wv88, Pos(Succ(wv89)), wv92, wv93)
new_psPs18(wv88, wv89, Succ(wv900), Zero, wv92, wv93) → new_psPs17(wv88, Pos(Succ(wv89)), wv92, wv93)
new_psPs10(wv24, Pos(Zero), Zero, Zero, Pos(Succ(wv2800)), wv29, wv30) → new_psPs17(wv24, Pos(Zero), wv29, wv30)
new_psPs19(wv95, wv96, Succ(wv970), Succ(wv980), wv99, wv100) → new_psPs19(wv95, wv96, wv970, wv980, wv99, wv100)
new_psPs4(:%(Neg(Succ(wv30000)), wv301), :(:%(Neg(Zero), wv401), wv41), wv5) → new_psPs11(wv30000, wv301, wv401, wv41, wv5)
new_psPs10(wv24, Neg(Succ(wv2500)), Zero, Zero, Neg(Zero), wv29, wv30) → new_psPs17(wv24, Neg(Succ(wv2500)), wv29, wv30)
new_psPs10(wv24, wv25, Succ(wv260), Zero, wv28, wv29, wv30) → new_psPs11(wv24, wv25, wv28, wv29, wv30)
new_psPs10(wv24, wv25, Zero, Succ(wv270), wv28, wv29, wv30) → new_psPs11(wv24, wv25, wv28, wv29, wv30)
new_psPs10(wv24, Neg(Zero), Zero, Zero, Pos(Succ(wv2800)), wv29, wv30) → new_psPs17(wv24, Neg(Zero), wv29, wv30)
new_psPs10(wv24, Pos(Succ(wv2500)), Zero, Zero, Pos(Succ(wv2800)), wv29, wv30) → new_psPs18(wv24, wv2500, wv2500, wv2800, wv29, wv30)
new_psPs10(wv24, Neg(Succ(wv2500)), Zero, Zero, Neg(Succ(wv2800)), wv29, wv30) → new_psPs19(wv24, wv2500, wv2500, wv2800, wv29, wv30)
new_psPs18(wv88, wv89, Succ(wv900), Succ(wv910), wv92, wv93) → new_psPs18(wv88, wv89, wv900, wv910, wv92, wv93)
new_psPs11(wv30000, wv301, wv401, wv41, wv5) → new_psPs4(:%(Neg(Succ(wv30000)), wv301), wv41, wv5)
new_psPs10(wv24, Neg(Zero), Zero, Zero, Neg(Succ(wv2800)), wv29, wv30) → new_psPs17(wv24, Neg(Zero), wv29, wv30)
new_psPs10(wv24, Pos(Succ(wv2500)), Zero, Zero, Pos(Zero), wv29, wv30) → new_psPs17(wv24, Pos(Succ(wv2500)), wv29, wv30)
new_psPs17(wv30000, wv301, wv41, wv5) → new_psPs4(:%(Neg(Succ(wv30000)), wv301), wv41, wv5)
new_psPs4(:%(Neg(Succ(wv30000)), wv301), :(:%(Pos(wv4000), wv401), wv41), wv5) → new_psPs4(:%(Neg(Succ(wv30000)), wv301), wv41, wv5)
new_psPs10(wv24, wv25, Succ(wv260), Succ(wv270), wv28, wv29, wv30) → new_psPs10(wv24, wv25, wv260, wv270, wv28, wv29, wv30)
new_psPs4(:%(Neg(Succ(wv30000)), wv301), :(:%(Neg(Succ(wv40000)), wv401), wv41), wv5) → new_psPs10(wv30000, wv301, wv30000, wv40000, wv401, wv41, wv5)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ Narrow
                        ↳ AND
                          ↳ QDP
                            ↳ DependencyGraphProof
                              ↳ AND
                                ↳ QDP
QDP
                                  ↳ QDPSizeChangeProof
                                ↳ QDP
                                ↳ QDP
                          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_psPs9(Pos(Succ(wv30100)), Pos(Zero), wv41, wv5) → new_psPs6(Pos(Succ(wv30100)), wv41, wv5)
new_psPs4(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Succ(wv40100))), wv41), wv5) → new_psPs6(Pos(Zero), wv41, wv5)
new_psPs6(wv301, wv41, wv5) → new_psPs4(:%(Pos(Zero), wv301), wv41, wv5)
new_psPs9(Pos(Succ(wv30100)), Neg(wv4010), wv41, wv5) → new_psPs6(Pos(Succ(wv30100)), wv41, wv5)
new_psPs4(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Succ(wv40100))), wv41), wv5) → new_psPs6(Neg(Zero), wv41, wv5)
new_psPs4(:%(Pos(Zero), Pos(Succ(wv30100))), :(:%(Pos(Zero), Pos(Succ(wv40100))), wv41), wv5) → new_psPs5(wv30100, wv30100, wv40100, wv41, wv5)
new_psPs4(:%(Pos(Zero), Neg(Succ(wv30100))), :(:%(Pos(Zero), Neg(Succ(wv40100))), wv41), wv5) → new_psPs7(wv30100, wv30100, wv40100, wv41, wv5)
new_psPs5(wv38, Succ(wv390), Succ(wv400), wv41, wv42) → new_psPs5(wv38, wv390, wv400, wv41, wv42)
new_psPs9(Neg(Zero), Neg(Succ(wv40100)), wv41, wv5) → new_psPs6(Neg(Zero), wv41, wv5)
new_psPs4(:%(Pos(Zero), wv301), :(:%(Pos(Succ(wv40000)), wv401), wv41), wv5) → new_psPs4(:%(Pos(Zero), wv301), wv41, wv5)
new_psPs4(:%(Pos(Zero), wv301), :(:%(Neg(Succ(wv40000)), wv401), wv41), wv5) → new_psPs8(wv301, wv401, wv41, wv5)
new_psPs8(wv301, wv401, wv41, wv5) → new_psPs4(:%(Pos(Zero), wv301), wv41, wv5)
new_psPs4(:%(Pos(Zero), Pos(Succ(wv30100))), :(:%(Pos(Zero), Neg(wv4010)), wv41), wv5) → new_psPs6(Pos(Succ(wv30100)), wv41, wv5)
new_psPs9(Neg(Succ(wv30100)), Neg(Succ(wv40100)), wv41, wv5) → new_psPs7(wv30100, wv30100, wv40100, wv41, wv5)
new_psPs7(wv44, Succ(wv450), Succ(wv460), wv47, wv48) → new_psPs7(wv44, wv450, wv460, wv47, wv48)
new_psPs9(Neg(Succ(wv30100)), Neg(Zero), wv41, wv5) → new_psPs6(Neg(Succ(wv30100)), wv41, wv5)
new_psPs4(:%(Pos(Zero), Neg(Succ(wv30100))), :(:%(Pos(Zero), Pos(wv4010)), wv41), wv5) → new_psPs6(Neg(Succ(wv30100)), wv41, wv5)
new_psPs9(Neg(Zero), Pos(Succ(wv40100)), wv41, wv5) → new_psPs6(Neg(Zero), wv41, wv5)
new_psPs4(:%(Pos(Zero), Neg(Succ(wv30100))), :(:%(Pos(Zero), Neg(Zero)), wv41), wv5) → new_psPs6(Neg(Succ(wv30100)), wv41, wv5)
new_psPs5(wv38, Zero, Succ(wv400), wv41, wv42) → new_psPs6(Pos(Succ(wv38)), wv41, wv42)
new_psPs5(wv38, Succ(wv390), Zero, wv41, wv42) → new_psPs6(Pos(Succ(wv38)), wv41, wv42)
new_psPs9(Pos(Zero), Pos(Succ(wv40100)), wv41, wv5) → new_psPs6(Pos(Zero), wv41, wv5)
new_psPs4(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Succ(wv40100))), wv41), wv5) → new_psPs6(Neg(Zero), wv41, wv5)
new_psPs7(wv44, Zero, Succ(wv460), wv47, wv48) → new_psPs6(Neg(Succ(wv44)), wv47, wv48)
new_psPs7(wv44, Succ(wv450), Zero, wv47, wv48) → new_psPs6(Neg(Succ(wv44)), wv47, wv48)
new_psPs9(Pos(Succ(wv30100)), Pos(Succ(wv40100)), wv41, wv5) → new_psPs5(wv30100, wv30100, wv40100, wv41, wv5)
new_psPs9(Pos(Zero), Neg(Succ(wv40100)), wv41, wv5) → new_psPs6(Pos(Zero), wv41, wv5)
new_psPs9(Neg(Succ(wv30100)), Pos(wv4010), wv41, wv5) → new_psPs6(Neg(Succ(wv30100)), wv41, wv5)
new_psPs4(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Succ(wv40100))), wv41), wv5) → new_psPs6(Pos(Zero), wv41, wv5)
new_psPs4(:%(Pos(Zero), Pos(Succ(wv30100))), :(:%(Pos(Zero), Pos(Zero)), wv41), wv5) → new_psPs6(Pos(Succ(wv30100)), wv41, wv5)
new_psPs4(:%(Pos(Zero), wv301), :(:%(Neg(Zero), wv401), wv41), wv5) → new_psPs9(wv301, wv401, wv41, wv5)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ Narrow
                        ↳ AND
                          ↳ QDP
                            ↳ DependencyGraphProof
                              ↳ AND
                                ↳ QDP
                                ↳ QDP
QDP
                                  ↳ QDPSizeChangeProof
                                ↳ QDP
                          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_psPs(wv16, Pos(Succ(wv1700)), Zero, Zero, Neg(wv200), wv21, wv22) → new_psPs2(wv16, Pos(Succ(wv1700)), wv21, wv22)
new_psPs(wv16, Pos(Succ(wv1700)), Zero, Zero, Pos(Zero), wv21, wv22) → new_psPs2(wv16, Pos(Succ(wv1700)), wv21, wv22)
new_psPs0(wv30000, wv301, wv401, wv41, wv5) → new_psPs4(:%(Pos(Succ(wv30000)), wv301), wv41, wv5)
new_psPs4(:%(Pos(Succ(wv30000)), wv301), :(:%(Pos(Succ(wv40000)), wv401), wv41), wv5) → new_psPs(wv30000, wv301, wv30000, wv40000, wv401, wv41, wv5)
new_psPs(wv16, Pos(Succ(wv1700)), Zero, Zero, Pos(Succ(wv2000)), wv21, wv22) → new_psPs1(wv16, wv1700, wv1700, wv2000, wv21, wv22)
new_psPs(wv16, wv17, Succ(wv180), Zero, wv20, wv21, wv22) → new_psPs0(wv16, wv17, wv20, wv21, wv22)
new_psPs4(:%(Pos(Succ(wv30000)), wv301), :(:%(Neg(wv4000), wv401), wv41), wv5) → new_psPs4(:%(Pos(Succ(wv30000)), wv301), wv41, wv5)
new_psPs(wv16, wv17, Zero, Succ(wv190), wv20, wv21, wv22) → new_psPs0(wv16, wv17, wv20, wv21, wv22)
new_psPs2(wv30000, wv301, wv41, wv5) → new_psPs4(:%(Pos(Succ(wv30000)), wv301), wv41, wv5)
new_psPs(wv16, Neg(Succ(wv1700)), Zero, Zero, Neg(Zero), wv21, wv22) → new_psPs2(wv16, Neg(Succ(wv1700)), wv21, wv22)
new_psPs(wv16, Neg(Zero), Zero, Zero, Neg(Succ(wv2000)), wv21, wv22) → new_psPs2(wv16, Neg(Zero), wv21, wv22)
new_psPs(wv16, Neg(Succ(wv1700)), Zero, Zero, Pos(wv200), wv21, wv22) → new_psPs2(wv16, Neg(Succ(wv1700)), wv21, wv22)
new_psPs4(:%(Pos(Succ(wv30000)), wv301), :(:%(Pos(Zero), wv401), wv41), wv5) → new_psPs0(wv30000, wv301, wv401, wv41, wv5)
new_psPs1(wv74, wv75, Succ(wv760), Zero, wv78, wv79) → new_psPs2(wv74, Pos(Succ(wv75)), wv78, wv79)
new_psPs1(wv74, wv75, Zero, Succ(wv770), wv78, wv79) → new_psPs2(wv74, Pos(Succ(wv75)), wv78, wv79)
new_psPs(wv16, Pos(Zero), Zero, Zero, Neg(Succ(wv2000)), wv21, wv22) → new_psPs2(wv16, Pos(Zero), wv21, wv22)
new_psPs(wv16, Neg(Zero), Zero, Zero, Pos(Succ(wv2000)), wv21, wv22) → new_psPs2(wv16, Neg(Zero), wv21, wv22)
new_psPs1(wv74, wv75, Succ(wv760), Succ(wv770), wv78, wv79) → new_psPs1(wv74, wv75, wv760, wv770, wv78, wv79)
new_psPs(wv16, wv17, Succ(wv180), Succ(wv190), wv20, wv21, wv22) → new_psPs(wv16, wv17, wv180, wv190, wv20, wv21, wv22)
new_psPs(wv16, Neg(Succ(wv1700)), Zero, Zero, Neg(Succ(wv2000)), wv21, wv22) → new_psPs3(wv16, wv1700, wv1700, wv2000, wv21, wv22)
new_psPs3(wv81, wv82, Succ(wv830), Succ(wv840), wv85, wv86) → new_psPs3(wv81, wv82, wv830, wv840, wv85, wv86)
new_psPs(wv16, Pos(Zero), Zero, Zero, Pos(Succ(wv2000)), wv21, wv22) → new_psPs2(wv16, Pos(Zero), wv21, wv22)
new_psPs3(wv81, wv82, Zero, Succ(wv840), wv85, wv86) → new_psPs2(wv81, Neg(Succ(wv82)), wv85, wv86)
new_psPs3(wv81, wv82, Succ(wv830), Zero, wv85, wv86) → new_psPs2(wv81, Neg(Succ(wv82)), wv85, wv86)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ Narrow
                        ↳ AND
                          ↳ QDP
                            ↳ DependencyGraphProof
                              ↳ AND
                                ↳ QDP
                                ↳ QDP
                                ↳ QDP
QDP
                                  ↳ QDPSizeChangeProof
                          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_psPs16(Neg(Succ(wv30100)), Neg(Succ(wv40100)), wv41, wv5) → new_psPs14(wv30100, wv30100, wv40100, wv41, wv5)
new_psPs16(Neg(Succ(wv30100)), Pos(wv4010), wv41, wv5) → new_psPs13(Neg(Succ(wv30100)), wv41, wv5)
new_psPs4(:%(Neg(Zero), Neg(Succ(wv30100))), :(:%(Pos(Zero), Pos(wv4010)), wv41), wv5) → new_psPs13(Neg(Succ(wv30100)), wv41, wv5)
new_psPs4(:%(Neg(Zero), wv301), :(:%(Neg(Succ(wv40000)), wv401), wv41), wv5) → new_psPs15(wv301, wv401, wv41, wv5)
new_psPs4(:%(Neg(Zero), Pos(Succ(wv30100))), :(:%(Pos(Zero), Pos(Zero)), wv41), wv5) → new_psPs13(Pos(Succ(wv30100)), wv41, wv5)
new_psPs12(wv50, Succ(wv510), Succ(wv520), wv53, wv54) → new_psPs12(wv50, wv510, wv520, wv53, wv54)
new_psPs4(:%(Neg(Zero), Pos(Succ(wv30100))), :(:%(Pos(Zero), Neg(wv4010)), wv41), wv5) → new_psPs13(Pos(Succ(wv30100)), wv41, wv5)
new_psPs14(wv56, Zero, Succ(wv580), wv59, wv60) → new_psPs13(Neg(Succ(wv56)), wv59, wv60)
new_psPs14(wv56, Succ(wv570), Zero, wv59, wv60) → new_psPs13(Neg(Succ(wv56)), wv59, wv60)
new_psPs16(Neg(Succ(wv30100)), Neg(Zero), wv41, wv5) → new_psPs13(Neg(Succ(wv30100)), wv41, wv5)
new_psPs4(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Succ(wv40100))), wv41), wv5) → new_psPs13(Neg(Zero), wv41, wv5)
new_psPs4(:%(Neg(Zero), Pos(Succ(wv30100))), :(:%(Pos(Zero), Pos(Succ(wv40100))), wv41), wv5) → new_psPs12(wv30100, wv30100, wv40100, wv41, wv5)
new_psPs15(wv301, wv401, wv41, wv5) → new_psPs4(:%(Neg(Zero), wv301), wv41, wv5)
new_psPs4(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Succ(wv40100))), wv41), wv5) → new_psPs13(Pos(Zero), wv41, wv5)
new_psPs4(:%(Neg(Zero), Neg(Succ(wv30100))), :(:%(Pos(Zero), Neg(Succ(wv40100))), wv41), wv5) → new_psPs14(wv30100, wv30100, wv40100, wv41, wv5)
new_psPs4(:%(Neg(Zero), wv301), :(:%(Neg(Zero), wv401), wv41), wv5) → new_psPs16(wv301, wv401, wv41, wv5)
new_psPs16(Neg(Zero), Neg(Succ(wv40100)), wv41, wv5) → new_psPs13(Neg(Zero), wv41, wv5)
new_psPs16(Pos(Zero), Neg(Succ(wv40100)), wv41, wv5) → new_psPs13(Pos(Zero), wv41, wv5)
new_psPs12(wv50, Succ(wv510), Zero, wv53, wv54) → new_psPs13(Pos(Succ(wv50)), wv53, wv54)
new_psPs12(wv50, Zero, Succ(wv520), wv53, wv54) → new_psPs13(Pos(Succ(wv50)), wv53, wv54)
new_psPs16(Pos(Succ(wv30100)), Neg(wv4010), wv41, wv5) → new_psPs13(Pos(Succ(wv30100)), wv41, wv5)
new_psPs4(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Succ(wv40100))), wv41), wv5) → new_psPs13(Neg(Zero), wv41, wv5)
new_psPs4(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Succ(wv40100))), wv41), wv5) → new_psPs13(Pos(Zero), wv41, wv5)
new_psPs13(wv301, wv41, wv5) → new_psPs4(:%(Neg(Zero), wv301), wv41, wv5)
new_psPs4(:%(Neg(Zero), wv301), :(:%(Pos(Succ(wv40000)), wv401), wv41), wv5) → new_psPs4(:%(Neg(Zero), wv301), wv41, wv5)
new_psPs14(wv56, Succ(wv570), Succ(wv580), wv59, wv60) → new_psPs14(wv56, wv570, wv580, wv59, wv60)
new_psPs4(:%(Neg(Zero), Neg(Succ(wv30100))), :(:%(Pos(Zero), Neg(Zero)), wv41), wv5) → new_psPs13(Neg(Succ(wv30100)), wv41, wv5)
new_psPs16(Pos(Succ(wv30100)), Pos(Zero), wv41, wv5) → new_psPs13(Pos(Succ(wv30100)), wv41, wv5)
new_psPs16(Neg(Zero), Pos(Succ(wv40100)), wv41, wv5) → new_psPs13(Neg(Zero), wv41, wv5)
new_psPs16(Pos(Succ(wv30100)), Pos(Succ(wv40100)), wv41, wv5) → new_psPs12(wv30100, wv30100, wv40100, wv41, wv5)
new_psPs16(Pos(Zero), Pos(Succ(wv40100)), wv41, wv5) → new_psPs13(Pos(Zero), wv41, wv5)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ Narrow
                        ↳ AND
                          ↳ QDP
QDP
                            ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_foldr(wv4, :(wv30, wv31)) → new_foldr(wv4, wv31)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: